param 
(
    $instance = $(throw "'instance' Specify the instance name."),
    [System.string]$features = $(throw "'features' Specify the list of features."),
    $setupExeFolder = $(throw "'setupExeFolder' Specify the folder containing setup.exe.")
)

$ErrorActionPreference  = "Stop"

$setupPath = [System.IO.Path]::Combine($setupExeFolder, "setup.exe")
$argument += @()
$arguments = "/CONFIGURATIONFILE=`"SQL Server 2008 Remove instance.ini`" /INSTANCENAME=$instance /FEATURES=$features /skiprules=RebootRequiredCheck" 

start-process -filepath $setupPath -argumentList $arguments -nonewwindow
